cmake_minimum_required(VERSION 3.16)

project(00-basic-cxx CXX)

add_subdirectory(01-hello-world)
add_subdirectory(02-destr-except)
add_subdirectory(03-bool-type)
add_subdirectory(03-int-type)
add_subdirectory(04-new-delete-overload)
add_subdirectory(05-signal-handler)
add_subdirectory(06-create-process)
add_subdirectory(07-multi-threading)
add_subdirectory(08-aslr)
add_subdirectory(09-concepts)
add_subdirectory(10-debug-macro)
add_subdirectory(11-shared-lock)
if(LINUX)
    add_subdirectory(12-modules)
endif(LINUX)
add_subdirectory(13-stack-info)
add_subdirectory(14-cxx17-fs)

add_subdirectory(18-stacktrace)
if(BOOST_DOWNLOAD_LONG_PROCESS_IS_OK)
    add_subdirectory(19-boost-file-system)
else()
    message(STATUS "skip long boost downloading")
endif()
add_subdirectory(21-split-str-no-alloc)
add_subdirectory(22-no-alloc-memory)
add_subdirectory(23-float-format)
add_subdirectory(24-error-code)
add_subdirectory(25-range-proj)
add_subdirectory(26-security-error)
add_subdirectory(27-copy-file-cxx)
